package com.ruoyi.pharmacy.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.pharmacy.domain.PharmacyOperate;
import com.ruoyi.pharmacy.domain.vo.PharmacyOperateVo;
import org.springframework.security.core.parameters.P;

/**
 * 药房操作记录Service接口
 *
 * @author ruoyi
 * @date 2025-08-22
 */
public interface IPharmacyOperateService
{
    /**
     * 查询药房操作记录
     *
     * @param operateId 药房操作记录主键
     * @return 药房操作记录
     */
    public PharmacyOperate selectPharmacyOperateByOperateId(Integer operateId);

    /**
     * 查询药房操作记录列表
     *
     * @param pharmacyOperate 药房操作记录
     * @return 药房操作记录集合
     */
    public List<PharmacyOperate> selectPharmacyOperateList(PharmacyOperate pharmacyOperate);
    //查询药房操作记录列表 除了原有字段 需要查询药品名字 药房名字
    public List<PharmacyOperateVo> selectPharmacyOperateVoList(PharmacyOperate pharmacyOperate);


    /**
     * 新增药房操作记录
     *
     * @param pharmacyOperate 药房操作记录
     * @return 结果
     */
    public int insertPharmacyOperate(PharmacyOperate pharmacyOperate);

    /**
     * 修改药房操作记录
     *
     * @param pharmacyOperate 药房操作记录
     * @return 结果
     */
    public int updatePharmacyOperate(PharmacyOperate pharmacyOperate);

    /**
     * 批量删除药房操作记录
     *
     * @param operateIds 需要删除的药房操作记录主键集合
     * @return 结果
     */
    public int deletePharmacyOperateByOperateIds(Integer[] operateIds);

    /**
     * 删除药房操作记录信息
     *
     * @param operateId 药房操作记录主键
     * @return 结果
     */
    public int deletePharmacyOperateByOperateId(Integer operateId);

    /**
     *  新增操作记录并更新库存
     */
    public AjaxResult addOperateAndUpdateStock(PharmacyOperate pharmacyOperate);
}
